In recent years an SSD is being broadly used as a storage device. An SSD is a storage device that uses a semiconductor memory, such as a flash memory, as the storage medium, and yields advantages in that it yields superior access performance and thrifty power consumption, and possesses resistance against vibration and shock, in comparison to hard disk devices.
With an SSD, the storage area is managed by being divided into unit areas referred to as a block of a predetermined size (for instance, 2 [MB]). At this point, writing of data into the SSD is performed in units referred to as a page having a size (for instance, 4 [kB]) that is smaller than a block, but the written data can only be erased in block units.
Thus, with an SSD, the update or erasure of data written into a certain block is performed via processing known as so-called garbage collection, where data of that block is once migrated to another block, and then all data stored in the migration source block is erased.
Meanwhile, in recent years a method referred to as KVS is attracting attention as one data storage/management method. KVS is a method of adding a unique character string or numerical value referred to as a key to the data (value) to be stored, and storing the data and the key as a set, and the intended data can be read from the storage device by designating the corresponding key. Note that, in the ensuing explanation, the data to be stored is referred to as a Value, the key is referred to as a Key, and the data in which a Key has been added to a Value is referred to as Key-Value data.
PTL 1 below discloses a method of additionally storing data, in a log-structured manner, in an SSD as a data management method based on KVS for an SSD. According to this data management method, there is an advantage in that the deterioration in the performance caused by random access, which is a characteristic of an SSD, can be reduced.